﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using IAC_2013.com.iac.action;
using IAC_2013.com.iac.form;
using IAC_2013.com.iac.util;
using System.Data.SqlClient;
using System.Data;

namespace IAC_2013.Forms
{
    public partial class frmUnit : Form
    {
        DataTable tb;
        UnitForm frm;
        Boolean checkCode = true;
        public frmUnit()
        {
            InitializeComponent();
            load_data();
        }

        public void load_data()
        {
            frm = new UnitForm();
            tb = new System.Data.DataTable();
            tb = new UnitAction().actionSearch(frm);
            grvUnit.DataSource = tb;
        }

        private void btSearch_Click(object sender, EventArgs e)
        {
            frm = new UnitForm();
            frm.unitCode = txtUnitCode.Text;
            frm.unitName = txtUnitName.Text;
            tb = new System.Data.DataTable();
            tb = new UnitAction().actionSearch(frm);
            grvUnit.DataSource = tb;
        }

        private void btSave_Click(object sender, EventArgs e)
        {
            frm = new UnitForm();
            frm.unitCode = txtUnitCode.Text;
            frm.unitName = txtUnitName.Text;
            frm.description = txtDescription.Text;
            if (txtUnitCode.Text == "")
            {
                MessageBox.Show("Mã đơn vị không được để trống!");
            }
            else if (txtUnitName.Text == "")
            {
                MessageBox.Show("Tên đơn vị không được để trống!");
            }
            else if (txtUnitCode.Text != null && txtUnitCode.Text != "")
            {
                checkCode = CommonUtils.checkCode("", frm.unitCode, "ma_dv", "dv_don_vi", "add");
            }

            if (checkCode == false)
            {
                MessageBox.Show("Mã đơn vị đã tồn tại!");
            }
            else
            {
                DialogResult result;
                result = MessageBox.Show("Bạn muốn ghi lại thông tin?", "Có/Không", MessageBoxButtons.OKCancel ,MessageBoxIcon.Question);
                if (result == DialogResult.OK)
                {
                    Boolean checkAdd = new UnitAction().addUnit(frm);
                    if (checkAdd == false)
                    {
                        MessageBox.Show("Thêm dữ liệu không thành công!");
                    }
                } 
            }
            load_data();

        }

        private void btEdit_Click(object sender, EventArgs e)
        {
            frm = new UnitForm();
            frm.unitId = Int32.Parse(unitId.Text);
            frm.unitCode = txtUnitCode.Text;
            frm.unitName = txtUnitName.Text;
            frm.description = txtDescription.Text;
            if (txtUnitCode.Text == "")
            {
                MessageBox.Show("Mã đơn vị không được để trống!");
            }
            else if (txtUnitName.Text == "")
            {
                MessageBox.Show("Tên đơn vị không được để trống!");
            }
            else if (txtUnitCode.Text != null && txtUnitCode.Text != "")
            {
                checkCode = CommonUtils.checkCode(code.Text, frm.unitCode, "ma_dv", "dv_don_vi", "add");
            }

            if (checkCode == false)
            {
                MessageBox.Show("Mã đơn vị đã tồn tại!");
            }
            else
            {
                DialogResult result;
                result = MessageBox.Show("Bạn muốn sửa lại thông tin?", "Có/Không", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    Boolean checkEdit = new UnitAction().editUnit(frm);
                    if (checkEdit == false)
                    {
                        MessageBox.Show("Sửa dữ liệu không thành công!");
                    }
                }
            }
            load_data();
        }

        private void btDelete_Click(object sender, EventArgs e)
        {
            frm = new UnitForm();
            frm.unitId = Int32.Parse(unitId.Text);
            if (unitId.Text != null && unitId.Text != "")
            {
                DialogResult result;
                result = MessageBox.Show("Bạn chắc chắn muỗn xóa thông tin?", "Có/Không", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (result == System.Windows.Forms.DialogResult.OK)
                {
                    Boolean checkDelete = new UnitAction().deleteUnit(frm);
                    if (checkDelete == false)
                    {
                        MessageBox.Show("Xóa dữ liệu không thành công!");
                    }
                }
            }
            load_data();
        }

        private void grvUnit_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int r = grvUnit.CurrentCell.RowIndex;
            unitId.Text = grvUnit.Rows[r].Cells[0].Value.ToString();
            txtUnitCode.Text = grvUnit.Rows[r].Cells[1].Value.ToString();
            txtUnitName.Text = grvUnit.Rows[r].Cells[2].Value.ToString();
            txtDescription.Text = grvUnit.Rows[r].Cells[3].Value.ToString();
        }
    }
}
